package futbol.tacticas.concursantes.qualitycode.ctrlteam;

import futbol.tacticas.concursantes.qualitycode.common.QBall;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QPases.TipoPase.AUTO_ADELANTE;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QPases.TipoPase.AUTO_ATRAS;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QPases.TipoPase.ADELANTE;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QPases.TipoPase.ATRAS;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QPases.TipoPase.LARGO_ADELANTE;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QPases.TipoPase.LARGO_ATRAS;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QPases.TipoPase.LARGO_ANY;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QPases.TipoPase.ANY;

import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QCtrlPlayer.Funcion.CONTROLADOR;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QCtrlPlayer.Funcion.DEFENSA;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QCtrlPlayer.Funcion.DELANTERO;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QCtrlPlayer.Funcion.PORTERO;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QCtrlPlayer.Funcion.RECUPERA_DEFENSA;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QCtrlPlayer.Funcion.RECUPERA_DELANTERO;
import static futbol.tacticas.concursantes.qualitycode.ctrlteam.QCtrlPlayer.Funcion.SOPORTE;


public class QPase
{
    public static void start(QCtrlTeam t, QCtrlPlayer p, QBall ball)
    {
        if(p.isFuncion(CONTROLADOR)) 
        {
        	if(p.canGolpear(ball)) 
        	{
        		if(p.canEsperar()) 
        		{
        		  if (p.canPase(AUTO_ADELANTE))
        		    p.pasar(AUTO_ADELANTE);
        		  else if (!p.lastAutoPase())
        		    p.pararBola();
        			t.adelantarSoporte();  
        		}
        		else
        		{
        			p.pasar();
        			t.adelantarSoporte();  
        		}
        	}
        	else
        	{
        		p.cmdInterseptarBola(); 
        	}
        }
        else
        {
        	if(p.isFuncion(SOPORTE)) 
        	{
        		p.soporte(); 
        	}
        	else
        	{
        		t.adelantarSoporte(); 
        	}
        }
    }

}